﻿using System.Text;

namespace Ukagaka.Named.Ghost.Shiori
{
	/// <summary>
	/// メッセージを表現するための定義です
	/// </summary>
	public interface IMessage : IParseable
	{
		/// <summary>
		/// ヘッダ群を取得します
		/// </summary>
		HeaderList HeaderList
		{
			get;
		}

		/// <summary>
		/// プロトコルを取得します
		/// </summary>
		Protocol Protocol
		{
			get;
		}

		/// <summary>
		/// メッセージの文字エンコーディングを取得します
		/// </summary>
		Encoding Encoding
		{
			get;
		}

		/// <summary>
		/// メッセージを取得します
		/// </summary>
		/// <returns>メッセージ</returns>
		byte[ ] GetBytes( );
	}
}
